The present invention relates to subband coding of an audio signal, and more particularly to a bit allocation method for enhancing coding efficiency by decreasing each value of an initial bit allocation with respect to corresponding blocks of subbands.
Various audio coding methods for processing audio signals have been suggested such as utilizing statistical characteristics of a temporal or frequency region of the audio signal and the characteristics of the human auditory system. The types of audio coding methods include a waveform coding method for coding the instantaneous amplitude of audio signals; an analysis-synthesis coding method, wherein an audio generating apparatus is approximated to a model in compliance with an audio source and vocal path characteristic, and audio is displayed by a parameter of the approximation; and a high-efficiency transmission method by multiplexing, wherein the existence of an audio signal on the time axis is detected, and a silent section is compressed to realize the high-efficiency transmission.
Subband coding is a kind of waveform coding method, wherein an audio signal is split into a plurality of frequency bands, the signal of each band is down-sampled at the nyquist rate to thereby be converted into a low-band signal, and then adaptive pulse code modulation is performed on each low band signal. In coding each band, overall audio quality can be enhanced by allocating more quantization bits to a band in which audio signal energy is concentrated. Also of note, quantization noise affects only a split band without affecting other bands. The Comite Consultatif International Telegraphique et Telephonique (CCITT) specifies, as a standard, a subband coding and adaptive differential PCM (SBC-ADPCM) system which codes an audio signal of a 7 KHz broad band into 64K bits (see G722).
Detailed descriptions of such subband codings of audio signals are presented in the following journals "Journal of Audio Engineering Society," (Vol 27, No. 11, pp. 855-865, November 1979); "The Bell System Technical Journal," (pp. 1633-1653, September 1981); and "IEEE Transactions on Acoustics, Speech and Signal Processing," (Vol. ASSP-30, No. 5, pp. 751-765, October 1982).
In subband coding, an audio signal is split into subbands having a plurality of successive frequency bands via an analysis filter. Each subband signal SB.sub.m is quantized block-by-block via a quantizer. The quantized subband signal QSB.sub.m consists of a plurality of successive signal blocks, and each signal block has q-numbered samples. Respective samples in the signal block are quantized with an allocated number of bits ab[m]. Here, index m is an integer from 1 to M. The quantizer includes a bit-need determiner for determining a needed number of bits bf[m] for a certain signal block in the respectively corresponding signal blocks in the subband signal SB.sub.m. The needed number of bits bf[m] is related to the number of bits which represents the samples of each signal block. In addition to this, the quantizer includes a bit allocator for allocating a number of bits TB, in order to obtain an allocated number of bits ab[m] in response to the needed number of bits of the corresponding signal blocks in the subband signal. The bit reallocator eliminates components which are below a threshold Wm in accordance with a noise-masking curve of the human auditory system. The quantized signal blocks are temporally divided and multiplexed, and then transmitted.
The procedure for allocating the quantization bits to each subband will be described in detail with reference to European Patent No. 457,390 A1.
First, a number of bits needed for the quantization of each block signal, bf[m], is determined. The needed number of bits bf[m] is determined by a signal power pwr.sub.-- m and a threshold Wm in each signal block of a subband signal.
Signal power pwr.sub.-- m can be determined by the following equation: ##EQU1## where S.sub.i represents the amplitude of the ith signal in a block having q-sample blocks in subband signal SB.sub.m. All signal powers pwr.sub.-- m for the corresponding blocks of subband signals from SB.sub.1 to SB.sub.M are determined in accordance with the foregoing equation.
When all signal powers of the subband signals are produced, the signal powers can be expressed as a vector group {pwr}. By multiplying vector group {pwr} by an M.times.M matrix [D], and further adding a vector group {Wr}, a vector group {W} can be obtained as shown below: EQU {W}=[D]{pwr}+{Wr}.
[D] is a matrix of constants, whose coefficient d.sub.ij is multiplied by a signal power pwr.sub.-- j of the q-sample blocks of a subband signal SBj in order to calculate the threshold of a subband signal SBi induced by the q-sample blocks of subband signal SB.sub.j. {Wr} represents the threshold of subband signal SB.sub.i.
The needed number of bits bf[m] is obtained by the following equation: EQU bf[m]=K.sub.1 log.sub.2 (SFm.sup.2 /3Wm).sup.1/2
where, K.sub.1 is a constant having a value of 1, and SF.sub.m is the largest sample value among the q-sample blocks of subband signal SB.sub.m.
Thereafter, the available total number of bits TB allocable to all of the subbands is allocated among each of the subbands. The number of bits allocated to each subband, ab[m], is determined according to the needed number of bits bf[m]. First, a subband jm which requires the largest number of bits among bf[m], that is, bf[1], bf[2], . . . bf[M], is selected. Then, it is determined whether the allocated number of bits ab[jm] of the selected subband is zero. If the allocated number of bits ab[jm] equals zero, the following equations are executed: EQU bf[jm]=bj[jm]-b.sub.1 EQU ab[jm]=b.sub.1 EQU TB=TB-b.sub.1
where TB denotes the available total number of bits allocable to every subband and b.sub.1 is the number of bits allocated in this iteration of the allocation routine.
If ab[jm] is not zero, the following operation is executed instead: EQU bf[jm]=bf[jm]-b.sub.2 EQU ab[jm]=ab[jm]+b.sub.2 EQU TB=TB-b.sub.2
where b.sub.2, like b.sub.1 is an integer, and b.sub.1 &gt;b.sub.2.
The allocation of the needed number of bits bf[m] to each subband according to the above-described methods is repeated until no bit is left in the available total number of bits TB. During the process the number of bits allocable to any given subband is limited to stay within a maximum number of bits a.sub.-- max.
It should be noted that the sample values of the q-sample blocks in the subband signal have sign bits. Accordingly, at least two bits (the sign bit and an effective bit) are required for quantizing the sample values. The allocated number of bits ab[m] is provided to quantize the q-sample blocks of each subband in such a manner that the b.sub.1 -bit (e.g., two bits) is allocated for a first allocation, and the b.sub.2 -bit (e.g., one bit) is allocated for a subsequent allocation. As stated above, the initially allocated number of bits b.sub.1 is greater than the reallocated number of bits b.sub.2.
Thus, in the conventional bit allocation operation, the allocated number of bits b.sub.1 in the initial allocation routine is different from the number of bits b.sub.2 in the subsequent reallocation. As will be described in greater detail hereinafter, the use of different numbers of bits in the initial allocation and the reallocation requires a separate algorithm, for each. This, in turn, contributes to complicate the overall system.